
using System;
using System.Collections;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
namespace NCS_CS
{
	public partial class MdateRange2
	{

		//yyyy 年
		//q 季
		//method1 月
		//y 一年的日数
		//d 日
		//w 一周的日数
		//ww 周
		//h 时
		//n 分钟
		//s 秒
		//
		//(:) 时间分隔符。在一些区域，可能用其他符号来当时间分隔符。格式化时间值时，时间分隔符可以分隔时、分、秒。时间分隔符的真正字符在格式输出时取决于系统的设置。
		//(/) 日期分隔符。在一些区域，可能用其他符号来当日期分隔符。格式化日期数值时，日期分隔符可以分隔年、月、日。日期分隔符的真正字符在格式输出时取决于系统设置。
		//c 以 ddddd 来显示日期并且以 ttttt 来显示时间。如果想显示的数值无小数部分，则只显示日期部分，如果想显示的数值无整数部分，则只显示时间部分。
		//d 以没有前导零的数字来显示日 (1 – 31)。
		//dd 以有前导零的数字来显示日 (01 – 31)。
		//ddd 以简写来表示日 (Sun –Sat)。
		//dddd 以全称来表示日 (Sunday –Saturday)。
		//ddddd 以完整日期表示法显示（包括年、月、日），日期的显示要依系统的短日期格式设置而定。缺省的短日期格式为 method1/d/yy。
		//dddddd 以完整日期表示法显示日期系列数（包括年、月、日），日期的显示要依系统识别的长日期格式而定。缺省的长日期格式为 mmmm dd, yyyy。
		//aaaa 与dddd 一样，它只是该字符串的本地化版本。
		//w 将一周中的日期以数值表示（1 表星期日~ 7表星期六）。
		//ww 将一年中的星期以数值表示 (1 – 54)。
		//method1 以没有前导零的数字来显示月 (1 – 12)。如果 method1 是直接跟在 h 或 hh 之后，那么显示的将是分而不是月。
		//mm 以有前导零的数字来显示月 (01 – 12)。如果method1是直接跟在h或hh之后，那么显示的将是分而不是月。
		//mmm 以简写来表示月 (Jan –Dec)。
		//mmmm 以全称来表示月 (January –December)。
		//oooo 与mmmm一样，它只是该字符串的本地化版本。
		//q 将一年中的季以数值表示 (1 – 4)。
		//y 将一年中的日以数值表示 (1 – 366)。
		//yy 以两位数来表示年 (00 – 99)。
		//yyyy 以四位数来表示年 (00 – 99)。
		//h 以没有前导零的数字来显示小时 (0 – 23)。
		//Hh 以有前导零的数字来显示小时 (00– 23)。
		//N 以没有前导零的数字来显示分 (0 – 59)。
		//Nn 以有前导零的数字来显示分 (00 – 59)。
		//S 以没有前导零的数字来显示秒 (0 – 59)。
		//Ss 以有前导零的数字来显示秒 (00 – 59)。
		//t t t t t 以完整时间表示法显示（包括时、分、秒），用系统识别的时间格式定义的时间分隔符进行格式化。如果选择有前导零并且时间是在 10:00 A.M. 或 P.M.之前，那么将显示有前导零的时间。缺省的时间格式为 h:mm:ss。
		//AM/PM 在中午前以 12 小时配合大写 AM 符号来使用；在中午和 11:59 P.M.间以 12 小时配合大写 PM 来使用。
		//am/pm 在中午前以 12 小时配合小写 am 符号来使用；在中午和 11:59 P.M.间以 12 小时配合小写 pm 来使用。
		//A/P 在中午前以 12 小时配合大写A符号来使用；在中午和 11:59 P.M.间以12 小时配合大写P来使用。
		//a/p 在中午前以 12 小时配合小写a符号来使用；在中午和 11:59 P.M.间以 12 小时配合小写p来使用。
		//AMPM 在中午前以 12 小时配合系统设置的 AM字符串文字来使用；在中午和 11:59 P.M. 间以 12 小时配合系统设置的 PM 字符串文字来使用。AMPM 可以是大写或小写，但必须和您的系统设置相配。其缺省格式为 AM/PM。

		System.DateTime d1;
		System.DateTime d2;
		int days;
		int months;
		public event changeEventHandler change;
		public delegate void changeEventHandler(System.Object Sender, changeEventArgs e);
		public void setRange(ref System.DateTime a, ref System.DateTime b)
		{
			d1 = a;
			d2 = b;
			Option1.Checked = true;
			DTPicker1.Value = d1;
			DTPicker1.Value = d2;
		}
		public void getRange(ref System.DateTime a, ref System.DateTime b)
		{
			a = d1;
			b = d2;
		}

		private void DTPicker1_Change(System.Object eventSender, System.EventArgs eventArgs)
		{
			//UPGRADE_WARNING: Couldn't resolve default property of object DTPicker1.value. Click for more: 'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
			d1 = DTPicker1.Value;
			// Format(d1, "yyyy-mm-dd mm:hh:ss")
			Option1.Checked = true;
			if (change != null) {
				change(this, new changeEventArgs(d1, d2));
			}
		}
		private void DTPicker2_Change(System.Object eventSender, System.EventArgs eventArgs)
		{
			//UPGRADE_WARNING: Couldn't resolve default property of object DTPicker2.value. Click for more: 'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
			d2 = DTPicker2.Value;
			//) + " 23:59:59"
			Option1.Checked = true;
			if (change != null) {
				change(this, new changeEventArgs(d1, d2));
			}
		}

		private void MSpinEdit1_change(System.Object Sender, System.EventArgs e)
		{
			int i = 0;
			i = (int)MSpinEdit1.Value;
			months = -(i + 1);
            
            //d2 = Convert.ToDateTime(DateAndTime.DateString + " 23:59:59");
            //d1 = DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Month, months, d2);
            //d1 = DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Second, 1, d1);
            DateTime s = System.DateTime.Now;
            d2 = Convert.ToDateTime(s.ToLongDateString() + " 23:59:59");
            d1 = s.AddMonths(months);// DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Month, months, d2);
            d1 = d1.AddSeconds(1);//DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Second, 1, d1);
			//to "00:00:00"
			Option2.Checked = true;
			if (change != null) {
				change(this, new changeEventArgs(d1, d2));
			}
		}

		private void MSpinEdit2_change(System.Object Sender, System.EventArgs e)
		{
			int i = 0;
			i = (int)MSpinEdit2.Value;
			days = -(i + 1);
            DateTime s = System.DateTime.Now;
            d2 = Convert.ToDateTime(s.ToLongDateString() + " 23:59:59");
            d1 = s.AddDays(days);// DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Month, months, d2);
            d1 = d1.AddSeconds(1);//DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Second, 1, d1);

            //d2 = Convert.ToDateTime(DateAndTime.DateString + " 23:59:59");
            //d1 = DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Day, days, d2);
            //d1 = DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Second, 1, d1);
			//to "00:00:00"
			Option3.Checked = true;
			if (change != null) {
				change(this, new changeEventArgs(d1, d2));
			}
		}

		//UPGRADE_WARNING: Event Option1.CheckedChanged may fire when form is initialized. Click for more: 'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="88B12AE1-6DE0-48A0-86F1-60C0686C026A"'
		//Private Sub Option1_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Option1.CheckedChanged
		//    If eventSender.Checked Then
		//        ' d1 = cstr(DTPicker1.value) + " 00:00:00"
		//        ' d2 = cstr(DTPicker2.value) + " 23:59:59"
		//        d1 = (DTPicker1.Value)
		//        d2 = (DTPicker2.Value)
		//        RaiseEvent change(Me, New changeEventArgs(d1, d2))
		//    End If
		//End Sub

		//'UPGRADE_WARNING: Event Option2.CheckedChanged may fire when form is initialized. Click for more: 'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="88B12AE1-6DE0-48A0-86F1-60C0686C026A"'
		//Private Sub Option2_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Option2.CheckedChanged
		//    If eventSender.Checked Then
		//        d2 = CDate(DateString + " 23:59:59")
		//        d1 = DateAdd(Microsoft.VisualBasic.DateInterval.Month, months, d2)
		//        d1 = DateAdd(Microsoft.VisualBasic.DateInterval.Second, 1, d1) 'to "00:00:00"
		//        Option2.Checked = True
		//        RaiseEvent change(Me, New changeEventArgs(d1, d2))
		//    End If
		//End Sub

		//'UPGRADE_WARNING: Event Option3.CheckedChanged may fire when form is initialized. Click for more: 'ms-help://MS.VSExpressCC.v80/dv_commoner/local/redirect.htm?keyword="88B12AE1-6DE0-48A0-86F1-60C0686C026A"'
		//Private Sub Option3_CheckedChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Option3.CheckedChanged
		//    If eventSender.Checked Then
		//        d2 = CDate(DateString + " 23:59:59")
		//        d1 = DateAdd(Microsoft.VisualBasic.DateInterval.Day, days, d2)
		//        d1 = DateAdd(Microsoft.VisualBasic.DateInterval.Second, 1, d1) 'to "00:00:00"
		//        Option3.Checked = True
		//        RaiseEvent change(Me, New changeEventArgs(d1, d2))
		//    End If
		//End Sub

		private void UserControl_Initialize()
		{
			//  MSpinEdit1.setRange 0, 12
			//  MSpinEdit2.setRange 0, 31
			Option1.Checked = true;
            //d2 = Convert.ToDateTime(DateAndTime.DateString + " 23:59:59");
            //d1 = DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Day, -1, d2);
            //d1 = DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Second, 1, d1);
            DateTime s = System.DateTime.Now;
            d2 = Convert.ToDateTime(s.ToLongDateString() + " 23:59:59");
            d1 = d2.AddDays(-1);// DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Month, months, d2);
            d1 = d1.AddSeconds(1);//DateAndTime.DateAdd(Microsoft.VisualBasic.DateInterval.Second, 1, 
			//to "00:00:00"
			DTPicker1.Value = d1;
			DTPicker2.Value = d2;
			// d1 = cstr(DTPicker1.value) + " 00:00:00"
			//d2 = cstr(DTPicker2.value) + " 23:59:59"
		}


		public MdateRange2()
		{
			// This call is required by the Windows Form Designer.
			InitializeComponent();
			UserControl_Initialize();
			// Add any initialization after the InitializeComponent() call.

		}
		public class changeEventArgs : System.EventArgs
		{
			public System.DateTime d1;
			public System.DateTime d2;
			public changeEventArgs(System.DateTime vd1, System.DateTime vd2)
			{
				d1 = vd1;
				d2 = vd2;
			}
			public void getDateRange(ref System.DateTime vd1, ref System.DateTime vd2)
			{
				vd1 = d1;
				vd2 = d2;
			}
			//Put some other properties in here 
		}

        private void DTPicker2_ValueChanged(object sender, EventArgs e)
        {

        }

        private void MSpinEdit2_ValueChanged(object sender, EventArgs e)
        {

        }

        private void MSpinEdit1_ValueChanged(object sender, EventArgs e)
        {

        }

        private void DTPicker1_ValueChanged(object sender, EventArgs e)
        {

        }

        private void MSpinEdit2_ValueChanged_1(object sender, EventArgs e)
        {

        }

        private void Frame1_Enter(object sender, EventArgs e)
        {

        }

        private void TableLayoutPanel1_Paint(object sender, PaintEventArgs e)
        {

        }

        private void Option1_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void Option2_CheckedChanged(object sender, EventArgs e)
        {

        }

        private void PictureBox1_Click(object sender, EventArgs e)
        {

        }

        private void Option3_CheckedChanged(object sender, EventArgs e)
        {

        }
	}
}
